<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/WEB-INF/templates/default.xhtml">
	<ui:define name="content">
		<p:panel id="panel" styleClass="pageMenu">
			<div id="pageMenu">
				<div id="titlePage">Acceso Modulos</div>
				<div id="contenidoPage">
					<p:dialog header="#{(accesoModulosMBean.tipoMantenimiento=='update') ? common['editar.modulo'] : common['nuevo.modulo']}" widgetVar="editObject" 
						modal="true" appendTo="@(body)">
						<ui:include src="/pages/seguridad/accesomodulos_editAdd.xhtml"></ui:include>
					</p:dialog>
					<p:dialog header="Actualizar Estado" widgetVar="updateObject"
						modal="true" appendTo="@(body)">
						<h:outputText value="Se actualizo Correctamente" />
					</p:dialog>
					<p:dialog header="¿Desea Eliminar los Item Seleccionados?"
						widgetVar="deleteObject" modal="true" height="100"
						appendTo="@(body)">
						<h:outputText value="This is a Modal Dialog." />
					</p:dialog>
					<h:form id="frmPageMantenimiento">
							#{controlesSeguridadMBean.init("acceso_modulo")}
						<p:panel id="controles" styleClass="controles"
							rendered="#{!controlesSeguridadMBean.viewModulos}">
							<p:commandLink id="buttomAddItem"
								actionListener="#{accesoModulosMBean.nuevoItem}" 
								oncomplete="PF('editObject').show()" 
								update=":contentEdit"
								rendered="#{!controlesSeguridadMBean.updateModulos}">
								<h:graphicImage value="/resources/img/add.png"
									styleClass="efectButtom" />
							</p:commandLink>
							<p:commandLink id="buttomEditItem"
								actionListener="#{accesoModulosMBean.editItem}"
								oncomplete="PF('editObject').show()" 
								update=":contentEdit"
								rendered="#{!controlesSeguridadMBean.updateModulos}"
								disabled="#{opcionesControlador.disabledEdit}">
								<h:graphicImage value="/resources/img/edit.png"
									styleClass="efectButtom" />
							</p:commandLink>
							<p:commandLink id="buttomDeleteItem"
								actionListener="#{accesoModulosMBean.eliminarItem}"
								update=":frmPageMantenimiento controles"
								disabled="#{opcionesControlador.disabledDelete}"
								rendered="#{!controlesSeguridadMBean.deleteModulos}">
								<h:graphicImage value="/resources/img/delete.png"
									styleClass="efectButtom" />
								<p:confirm header="Confirmacion" message="¿Desea Eliminar?" icon="ui-icon-alert" />
							</p:commandLink>
							<p:commandLink id="buttomUpdateItem"
								actionListener="#{accesoModulosMBean.actualizarEstado}"
								oncomplete="PF('updateObject').show();"
								disabled="#{opcionesControlador.disabledUpdate}"
								rendered="#{!controlesSeguridadMBean.updateModulos}">
								<h:graphicImage value="/resources/img/Checklist.png"
									styleClass="efectButtom" />
							</p:commandLink>
							<p:commandLink id="buttomUpdateTable"
								actionListener="#{accesoModulosMBean.inicializar()}"
								rendered="#{!controlesSeguridadMBean.viewModulos}">
								<h:graphicImage value="/resources/img/update.png"
									styleClass="efectButtom" />
							</p:commandLink>
							<p:confirmDialog global="true" showEffect="fade" >
								<p:commandButton value="Si" type="button"
									styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
								<p:commandButton value="No" type="button"
									styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
							</p:confirmDialog>
							<div class="contentSearch">
								<div class="inputSearch">
									<p:inputText placeholder="Buscar"
										value="#{accesoModulosMBean.txtBuscar}" style="border-radius: 0px;" />
								</div>
								<div class="inputImage">
									<p:commandButton actionListener="#{accesoModulosMBean.crearFiltro()}"
										styleClass="commanButtom" icon="search" title="Icon Only"
										update=":frmPageMantenimiento:frmListaItem controles" />
								</div>
							</div>
						</p:panel>

						<h:panelGrid columns="2" cellpadding="10">
							<h:outputText rendered="#{controlesSeguridadMBean.viewModulos}"
								value="No tiene Permisos para visualizar la lista" />
						</h:panelGrid>

						<p:dataTable id="frmListaItem"
							rendered="#{!controlesSeguridadMBean.viewModulos}" var="acceso"
							value="#{accesoModulosMBean.listaAccesoModulos}"
							selection="#{accesoModulosMBean.selectedAccesoModulos}"
							rowKey="#{acceso.id}" paginator="true" rows="10"
							paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
							rowsPerPageTemplate="5,10,15" sortMode="multiple"
							styleClass="formAddModulos" emptyMessage="No se Econtro Datos">

							<p:ajax event="rowUnselectCheckbox"
								listener="#{accesoModulosMBean.unSelect}"
								update=":frmPageMantenimiento:controles" />
							<p:ajax event="rowSelectCheckbox"
								listener="#{accesoModulosMBean.checkSelect}"
								update=":frmPageMantenimiento:controles" />
							<p:ajax event="rowDblselect" update=":contentEdit"
								listener="#{accesoModulosMBean.dobleSelect}"
								oncomplete="PF('editObject').show();" />
							<p:ajax event="rowSelect"
								listener="#{accesoModulosMBean.seleccionarItem}"
								update=":frmPageMantenimiento:controles" />

							<p:column selectionMode="multiple"
								style="width:16px;text-align:center" />
							<p:column headerText="Cod" sortBy="#{acceso.id}">
								<h:outputText value="#{acceso.id}" />
							</p:column>
							<p:column headerText="Rol" sortBy="#{acceso.rol}">
								<h:outputText value="#{acceso.rol}" />
							</p:column>
							<p:column headerText="Modulo" sortBy="#{acceso.modulo}">
								<h:outputText value="#{acceso.modulo}" />
							</p:column>
							<p:column headerText="Activo" sortBy="#{acceso.active}"
								style="text-align: center; width: 44px;">
								<p:selectBooleanCheckbox value="#{acceso.active}">
									<p:ajax event="change"
										listener="#{opcionesControlador.activarUpdate}"
										update=":frmPageMantenimiento:buttomUpdateItem" />
								</p:selectBooleanCheckbox>
							</p:column>
						</p:dataTable>
					</h:form>
				</div>
			</div>
		</p:panel>
	</ui:define>
</ui:composition>
</html>